Content streaming includes the streaming of audio, video, and/or text data from a network server to a client computer on an as-needed basis. The client computer renders the data as it is received from the network server. For example, audio, video, or audio/visual coverage of noteworthy events can be broadcast with streaming multimedia over a network such as the Internet as the events unfold. Similarly, television and radio stations can transmit live content over the network as streaming multimedia.
Streaming media over diverse networks poses a variety of technical challenges. The network connection between the server and the client is often subject to adverse conditions such as congestion, packet loss, varying latencies, IGMP/ICMP errors, rebooting routers or other networking devices, rebooting servers, inadvertent reset of TCP connections, lost modem connections, and temporarily unplugged network cables. Depending on the severity of the issue, some streaming media players encounter such adverse conditions and subsequently post a critical error to the user interface. The error is critical in that the user must manually intervene and re-establish the streaming session. Unfortunately, in the case of on-demand content, this also means the user must manually seek to the position in the content that was last being viewed, if seeking in the content is allowed, after the connection is re-established. Further, when this streaming link is disconnected, all the clients and servers that are downstream from the disrupted connection are terminated. The abnormal termination of all downstream clients can result in significant lost revenue.
For these reasons, a system for automatically recovering from a failed streaming media session is desired to address one or more of these and other disadvantages.